<?php

namespace App\Http\Controllers\admin;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;
use DB;

class GoodsCollectController extends Controller
{
    //添加商品收藏
    public function add(Request $request)
    {
    	$title = '添加商品收藏';
      //会话跟踪
      $staff = $request->session()->get('staff');

    	return view('admin.goodscollect.add',['title'=>$title,'staff' => $staff]);
    }

    //执行商品添加方法
    public function insert(Request $request)
    {
    	// dd($request -> all());
    	 //获取添加页面提交上来的数据,并去除了'_token'隐藏的数据
       $data = $request -> except('_token');
       //检测添加页面的数据并执行响应
       $this -> validate($request,[
            'goods_id' => 'required',
            'uid' => 'required',

        ],[

            'goods_id.required' => '商品ID不能为空',
            'uid.required' => '用户ID不能为空',
            
        ]);

       //获取当前收藏时间
       $data['collecttime'] = time();
       // dd($data);
       //判断收藏的商品是否存在
       
       //判断收藏商品的用户是否存在
       
       //执行添加商品收藏操作
       $res = DB::table('bro_collect') -> insert($data);

       //判断是否收藏成功
       if($res)
       {
       	  return redirect('/admin/goodscollect/index') -> with('success','商品收藏成功');
       }else{
       	  return back() -> with('error','商品收藏失败');
       }
    }

    //商品收藏首页
    public function index(Request $request)
    {
    	$title ="商品收藏列表";

      //会话跟踪
      $staff = $request->session()->get('staff');
      
    	//查询商品收藏
    	$data = DB::table('bro_collect') ->where(function($query) use ($request){
            $query -> where('goods_id','like','%'.$request -> input('keywords').'%') -> orwhere('uid','like','%'.$request -> input('keywords').'%');
        }) -> paginate($request -> input('num',10));

      //向商品收藏列表发送数据
      return view('admin.goodscollect.index',['title' => $title,'data' => $data,'request' => $request -> all(),'staff'=>$staff]);
    }

    //商品收藏编辑
    public function edit(Request $request,$id)
    {
    	 $title= '用户编辑';

        //会话跟踪
        $staff = $request->session()->get('staff');

        //执行数据查询
        $data = DB::table('bro_collect') -> where('id',$id) -> first();
        // dd($data);
        //解析模板
        return view('/admin/goodscollect/edit',['title'=>$title,'data'=>$data,'staff' => $staff]);
    }

    //商品收藏修改页面
    public function update(Request $request)
    {
    	//获取添加页面提交上来的数据,并去除了'_token'隐藏的数据
       $data = $request -> except('_token');
       //检测添加页面的数据并执行响应
       $this -> validate($request,[
            'goods_id' => 'required',
            'uid' => 'required',

        ],[

            'goods_id.required' => '商品ID不能为空',
            'uid.required' => '用户ID不能为空',
            
        ]);

       //判断收藏的商品是否存在
       
       //判断收藏商品的用户是否存在
       
       //执行添加商品收藏操作
       $res = DB::table('bro_collect') -> where('id','=',$data['id']) -> update($data);

       //判断是否收藏成功
       if($res)
       {
       	  return redirect('/admin/goodscollect/index') -> with('success','更新成功');
       }else{
       	  return back() -> with('error','更新失败');
       }
    }

    //删除商品收藏
    public function delete($id)
    {
    	//执行删除操作
    	$res = DB::table('bro_collect') ->where('id',$id) -> delete();

    	//判断是否收藏成功
       if($res)
       {
       	  return redirect('/admin/goodscollect/index') -> with('success','删除成功');
       }else{
       	  return back() -> with('error','删除失败');
       }
    }
}
